<form class="layui-form seller-form" action="">

    <div class="layui-form-item">
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">年度：</label>
            <div class="layui-input-inline" id="year_box">
                <select name="year" lay-filter="year" id="year" list="year_list" lay-search>
                    <option value=""></option>
                    <datalist  id="year_list" lay-search>
                        {volist name="yearList" id="yearList"}
                        <option value="{$yearList.id}">{$yearList.year}</option>
                        {/volist}
                    </datalist>
                </select>
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">季度：</label>
            <div class="layui-input-inline" id="season_box">
                <select name="season" lay-filter="season" id="season" list="season_list" lay-search>
                    <option value=""></option>
                    <datalist  id="season_list" lay-search>
                        {volist name="seasonList" id="seasonList"}
                        <option value="{$seasonList.season_id}">{$seasonList.season_name}</option>
                        {/volist}
                    </datalist>
                </select>
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">部/院：</label>
            <div class="layui-input-inline" id="dep_box">
                <select name="dep_id" lay-filter="dep_id" id="dep_id">
                    <option value=''>请选择</option>
                    {volist name="depList" id="vo"}
                    <option value="{$vo.bmdm}">{$vo.bmmc}</option>
                    {/volist}
                </select>
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">专业：</label>
            <div class="layui-input-inline" id="specialty_box">
                <select name="specialty_id" lay-filter="specialty_id" id="specialty_id" lay-search>
                    <option value=""></option>
                </select>
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">班级：</label>
            <div class="layui-input-inline" id="class_box">
                <select name="class_id" lay-filter="class_id" id="class_id" lay-search>
                    <option value=""></option>
                </select>
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">方向：</label>
            <div class="layui-input-inline" id="dir_box">
                <select name="dir" lay-filter="dir" id="dir" lay-search>
                    <option value=""></option>
                    <option value="1">就业</option>
                    <option value="2">升学</option>
                    <option value="3">创业</option>
                </select>
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">学号：</label>
            <div class="layui-input-inline" id="xh_box">
                <input type="text" id="xh" name="xh" class="layui-input" value="" placeholder="请输入学号" ></input>
            </div>
        </div> 
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">姓名：</label>
            <div class="layui-input-inline">
                <input id="xm" type="text" name="xm" lay-verify="xm" placeholder="请输入姓名" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label seller-inline-2">辅导员：</label>
            <div class="layui-input-inline">
                <input type="text" id="teacherName" name="teacherName" lay-verify="title" placeholder="请输入辅导员姓名" autocomplete="off" class="layui-input">
            </div>
        </div> 
        <div class="layui-inline">
            <button class="layui-btn layui-btn-sm" lay-submit lay-filter="search"><i
                    class="iconfont icon-chaxun"></i>查询</button>
            <button id="exportBtn" class="layui-btn layui-btn-sm layui-btn-disabled" lay-submit lay-filter="export-bookDrawDetail"><i
                    class="iconfont icon-clouddownload" style="font-size: 20px !important;" disabled></i>导出</button> 
        </div>
    </div>
</form>

<div class="table-body">
    <table id="bookDrawDetailTable" lay-filter="bookDrawDetailTable"></table>
</div>

<div id="exportbookDrawDetail" style="display: none;">
    <form class="layui-form export-form" action="">
        <div class="layui-form-item">
            <div class="layui-margin-10">
                <blockquote class="layui-elem-quote layui-text">
                    请先筛选要导出的学生，默认导出全部
                </blockquote>
            </div>

            <div class="layui-inline">
                <label class="layui-form-label">任务名称：</label>
                <input type="text" name="taskname" lay-verify="title" style="width:200px;" placeholder="请输入任务名称"
                    autocomplete="off" class="layui-input">
            </div>
        </div>
    </form>
</div>

<script>
    layui.use(['table', 'form', 'layer', 'laydate'], function () {
        var layer = layui.layer, table = layui.table, form = layui.form, date = layui.laydate;
        // 定义变量保存当前页面和当前页面数据条数
        var currPage; 
        var dataNum;

        //执行渲染
        table.render({
            elem: '#bookDrawDetailTable', //指定原始表格元素选择器（推荐id选择器）
            height: 'full-165',
            cellMinWidth: '80',
            page: 'true',
            limit: '20',
            id: 'bookDrawDetailTable',
            url: "{:url('BookCommon/returnNull')}",
            cols: [[ //标题栏
                { type: 'numbers' },    
                { field: 'draw_id', title: 'ID', hide:true},
                { field: 'plan_year', title: 'year', hide:true},
                { field: 'plan_season', title: 'season', hide:true},
                { field: 'bmmc', sort: true, title: '部/院', width: 120, align: 'center' },
                { field: 'zymc', sort: true, title: '专业', width: 200, align: 'center' },
                { field: 'bjmc', sort: true, title: '班级', width: 200, align: 'center' },
                { field: 'dirName', sort: true, title: '方向', width: 75, align: 'center' },
                { field: 'xh', sort: true, title: '学号', width: 120, align: 'center' },
                { field: 'xm', sort: true, title: '姓名', width: 140, align: 'center' },
                { field: 'operator', sort: true, title: '签收人', width: 140, align: 'center' },
                { field: 'teacher', sort: true, title: '辅导员', width: 100, align: 'center' },
                { field: 'draw_date', sort: true, title: '签收时间', width: 160, align: 'center' },
                {
                    field: 'option', title: '操作', templet: function (d) {
                        html = '<a class="layui-btn layui-btn-xs" lay-event="replace">替换</a>';
                        html += '<a class="layui-btn layui-btn-xs layui-btn-danger" name="del" lay-event="del">删除</a>';
                        return html;
                    }, align: 'center', width: 110
                }
            ]], //设置表头
            where: { "year": $("#year").val(), "season": $("#season").val(), "dir": $("#dir").val() },
            done: function(res, curr, count){
                // 判断加载结果数量是否大于0
                if(count>0){
                    $("#exportBtn").removeClass("layui-btn-disabled");
                    $('#exportBtn').removeAttr("disabled");
                } else {
                    $('#exportBtn').addClass("layui-btn-disabled");
                    $('#exportBtn').attr("disabled", true);
                }

                // 给变量赋值 
                dataNum = res.data.length;
                currPage = curr;
            }
            //,…… //更多参数参考右侧目录：基本参数选项
        });

        // 查询
        form.on('submit(search)', function (data) {
            table.reload('bookDrawDetailTable', {
                where: data.field,
                page: {curr: 1},
                url: "{:url('BookDraw/bookdrawdetailindex')}?dep_id={$bmdm}",
            });

            return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
        });

        // 替换
        form.on('submit(student-replace)',function(data){
            $("#student_replace").addClass("layui-btn-disabled");
            $('#student_replace').attr("disabled", true);

            JsPost("{:url('BookDraw/studentreplace')}", data.field, function(res){
                if(res.status){
                    layer.close(window.box);
                    layer.msg(res.msg,{time:1300},function(){
                        table.reload('bookDrawDetailTable');
                    });
                }else{
                    $("#student_replace").removeClass("layui-btn-disabled");
                    $('#student_replace').removeAttr("disabled");

                    layer.msg(res.msg,{time:1300});
                }
            })
        });
 
        // 得到专业
        function getSpecialty(data) {
            $.ajax({
                type: 'get',
                url: "{:url('BookCommon/getSpecicalties')}",
                data: 'bmdm=' + data.value,
                success: function(e) {
                    if(e.status) {
                        $("#specialty_id").empty();//清空下拉框的值
                        $('#specialty_id').append(new Option('', ''));// 下拉菜单里添加元素
                        
                        $("#class_id").empty();//清空下拉框的值
                        $('#class_id').append(new Option('', ''));// 下拉菜单里添加元素
                        $.each(e.data.data, function (index, item) {
                            $('#specialty_id').append(new Option(item.zymc, item.zydm));// 下拉菜单里添加元素
                        });
                        layui.form.render("select");//重新渲染 固定写法
                    } else {
                        layer.msg(e.msg);
                    }
                }
            });
        };
        
        // 联动专业
        layui.use('form', function () {
            // 联动年度
            form.on('select(year)', function (data) {
                getClass(data);
            });

            form.on('select(dep_id)', function (data) {
                getSpecialty(data);
            });
            
            form.on('select(specialty_id)', function (data) {
                getClass(data);
            });
            
        });
        
        // 得到班级
        function getClass(data) { 
            var dept = $("#dep_id").val();
            var specialty_id = $("#specialty_id").val();
            var year = $("#year").val();
            var season = $("#season").val();

            $.ajax({
                type: 'get',
                url: "{:url('BookCommon/getClasses')}",
                data: {
                        "bmdm": dept,
                        "zydm": specialty_id,
                        "plan_year":  year,
                        "plan_season": season
                    },
                success: function(e) {
                    if(e.status) {
                        $("#class_id").empty();//清空下拉框的值
                        $('#class_id').append(new Option('', ''));// 下拉菜单里添加元素
                        $.each(e.data.data, function (index, item) {
                            $('#class_id').append(new Option(item.plan_class_name, item.plan_class_id));// 下拉菜单里添加元素
                        });
                        layui.form.render("select");//重新渲染 固定写法
                    } else {
                        layer.msg(e.msg);
                    }
                }
            });
        };

        //监听工具条
        table.on('tool(bookDrawDetailTable)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            
            if(layEvent === 'del'){ // 删除
               // $("a[name='del']").addClass("layui-btn-disabled");
               // $("a[name='del']").attr("disabled", true);

                layer.confirm('您确定删除此条签收记录吗？', {
                    btn: ['确认', '取消'], //按钮
                    cancel:function(index, layero){
                 //       $("a[name='del']").removeClass("layui-btn-disabled");
                 //       $("a[name='del']").removeAttr("disabled");
                    }
                }, function () {
                    JsPost("{:url('BookDraw/bookdrawdetaildel')}", {id:data.draw_id}, function (res) {
                  //      $("a[name='del']").removeClass("layui-btn-disabled");
                  //      $("a[name='del']").removeAttr("disabled");
                        
                        //删除逻辑中判断只有一条数据时应该刷新前一页信息
                        layer.msg(res.msg);
                        if(res.status){
                            if(dataNum == 1){
                                currPage = currPage - 1;
                            }

                            table.reload('bookDrawDetailTable', {
                                page: {
                                    curr: currPage
                                }
                            });
                            return false;
                        }
                    });
                }, function () {
                 //   $("a[name='del']").removeClass("layui-btn-disabled");
                 //   $("a[name='del']").removeAttr("disabled");
                    layer.close(1);
                });
            } else if(layEvent === 'replace'){ //替换
                var year = {$curr_year};
                var season = {$curr_season};
                //判断是否为当前年度季度
                if((data.plan_year != year) && (data.plan_season != season)) {
                    layer.msg('不是当前年度当前季度的签收记录不能进行替换操作！！！', { time: 1300 });
                    return false;
                }
                JsGet("{:url('BookDraw/studentreplace')}?id=" + data.draw_id, function(e){
                    if ((e.hasOwnProperty('status') && !e.status) || (e.hasOwnProperty('code') && e.code == 0)) {
                        layer.msg(e.msg); return false;
                    }

                    window.box = layer.open({
                        type:1,
                        content:e,
                        area: ['400px', '248px'],
                        title:'学生信息替换'
                    })
                });
            }
        });

        //学生信息导出
        layui.form.on('submit(export-bookDrawDetail)', function (data) {
            layer.open({
                type: 1,
                title: '签收信息导出',
                area: ['400px', '248px'], //宽高
                btn: ['确定', '取消'],
                content: $("#exportbookDrawDetail").html(),
                success: function () {
                    $(':focus').blur();
                    this.enterEsc = function(event){
                        if(event.keyCode === 13){
                            if(!$(".layui-layer-btn0").hasClass("layui-btn-disabled")){
                                $(".layui-layer-btn0").addClass("layui-btn-disabled");

                                //判断是否有选中
                                var filter = $(".seller-form").serialize();
                                $(".export-form:last").append("<input type='hidden' name='filter' value='" + filter + "'>");
                                var data = $(".export-form:last").serializeArray();
                                data.push({ 'name': 'model', 'value': 'BookDrawDetail' });

                                if($.trim(data[0]['value']) == '') {
                                    layer.msg('请填写任务名称！', { time: 1300 });
                                    $(".layui-layer-btn0").removeClass("layui-btn-disabled");
                                    return false;
                                }

                                JsPost("{:url('Ietask/export')}", data, function (res) {
                                        layer.msg(res.msg, { time: 1500 }, function () {
                                            if (res.status) {
                                                layer.closeAll();
                                                //执行跳转
                                                var topLayui = parent === self ? layui : top.layui;
                                                topLayui.index.openTabsPage('/manage/ietask/index.html', '导入导出');
                                            } else {
                                                $(".layui-layer-btn0").removeClass("layui-btn-disabled");
                                            }
                                        });
                                    }
                                );
                            }
                            return false; //阻止系统默认回车事件
                        }
                    };
                    $(document).on('keydown', this.enterEsc);	//监听键盘事件，关闭层
                },
                yes: function () {
                    if(!$(".layui-layer-btn0").hasClass("layui-btn-disabled")){
                        $(".layui-layer-btn0").addClass("layui-btn-disabled");

                        //判断是否有选中
                        var filter = $(".seller-form").serialize();
                        $(".export-form:last").append("<input type='hidden' name='filter' value='" + filter + "'>");
                        var data = $(".export-form:last").serializeArray();
                        if($.trim(data[0]['value']) == '') {
                            layer.msg('请填写任务名称！', { time: 1300 });
                            $(".layui-layer-btn0").removeClass("layui-btn-disabled");
                            return false;
                        }

                        data.push({ 'name': 'model', 'value': 'BookDrawDetail' });
                        JsPost("{:url('Ietask/export')}", data, function (res) {
                                layer.msg(res.msg, { time: 1500 }, function () {
                                    if (res.status) {
                                        layer.closeAll();
                                        //执行跳转
                                        var topLayui = parent === self ? layui : top.layui;
                                        topLayui.index.openTabsPage('/manage/ietask/index.html', '导入导出');
                                    } else {
                                        $(".layui-layer-btn0").removeClass("layui-btn-disabled");
                                    }
                                });
                            }
                        );
                    }
                }, btn2: function () {
                    layer.closeAll();
                }, end: function(){
                    $(document).off('keydown', this.enterEsc);	        //解除键盘关闭事件
                }
            });
            return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
        });
        
        $("#is_qs").val(1);  // 默认状态：未发放
        
        $('#year').val({$curr_year});
        layui.form.render("select");//重新渲染 固定写法

        $("#season").val({$curr_season});
        layui.form.render("select");//重新渲染 固定写法

        $("#dir").val(1);  // 默认方向：就业
        layui.form.render("select");//重新渲染 固定写法
    
    });

</script>
